﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Interface ISurface
   </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Interface ISurface
   ">
    <meta name="generator" content="docfx 2.56.4.0">
    
    <link rel="shortcut icon" href="../favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
    
    
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../index.html">
                <img id="logo" class="svg" src="../logo.svg" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="CADability.GeoObject.ISurface">
  
  
  <h1 id="CADability_GeoObject_ISurface" data-uid="CADability.GeoObject.ISurface" class="text-break">Interface ISurface
  </h1>
  <div class="markdown level0 summary"><p>The ISurface interface must be implemented by all 3-dimensional unbound surfaces that are used by the
<a class="xref" href="CADability.GeoObject.Face.html">Face</a> object. The surface has a well defined 2-dimensional coordinate system, usually referred to
as the u/v system.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <h6><strong>Namespace</strong>: <a class="xref" href="CADability.GeoObject.html">CADability.GeoObject</a></h6>
  <h6><strong>Assembly</strong>: CADability.dll</h6>
  <h5 id="CADability_GeoObject_ISurface_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public interface ISurface</code></pre>
  </div>
  <h3 id="properties">Properties
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_IsRuled.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.IsRuled%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L390">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_IsRuled_" data-uid="CADability.GeoObject.ISurface.IsRuled*"></a>
  <h4 id="CADability_GeoObject_ISurface_IsRuled" data-uid="CADability.GeoObject.ISurface.IsRuled">IsRuled</h4>
  <div class="markdown level1 summary"><p>returns wheather the surface is linear in u or v direction</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">RuledSurfaceMode IsRuled { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.RuledSurfaceMode.html">RuledSurfaceMode</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_IsUPeriodic.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.IsUPeriodic%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L158">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_IsUPeriodic_" data-uid="CADability.GeoObject.ISurface.IsUPeriodic*"></a>
  <h4 id="CADability_GeoObject_ISurface_IsUPeriodic" data-uid="CADability.GeoObject.ISurface.IsUPeriodic">IsUPeriodic</h4>
  <div class="markdown level1 summary"><p>Returns true, if this surface is periodic in the u direction (e.g. a cylinder)
false otherwise.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool IsUPeriodic { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_IsVPeriodic.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.IsVPeriodic%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L163">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_IsVPeriodic_" data-uid="CADability.GeoObject.ISurface.IsVPeriodic*"></a>
  <h4 id="CADability_GeoObject_ISurface_IsVPeriodic" data-uid="CADability.GeoObject.ISurface.IsVPeriodic">IsVPeriodic</h4>
  <div class="markdown level1 summary"><p>Returns true, if this surface is periodic in the v direction (e.g. a torus)
false otherwise.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool IsVPeriodic { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_Oriented.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.Oriented%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L313">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_Oriented_" data-uid="CADability.GeoObject.ISurface.Oriented*"></a>
  <h4 id="CADability_GeoObject_ISurface_Oriented" data-uid="CADability.GeoObject.ISurface.Oriented">Oriented</h4>
  <div class="markdown level1 summary"><p>Returns true, if this surface divides the space into two parts. If the surfaces is Oriented
<a class="xref" href="CADability.GeoObject.ISurface.html#CADability_GeoObject_ISurface_Orientation_CADability_GeoPoint_">Orientation(GeoPoint)</a> returns a valid result</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool Oriented { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_UPeriod.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.UPeriod%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L168">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_UPeriod_" data-uid="CADability.GeoObject.ISurface.UPeriod*"></a>
  <h4 id="CADability_GeoObject_ISurface_UPeriod" data-uid="CADability.GeoObject.ISurface.UPeriod">UPeriod</h4>
  <div class="markdown level1 summary"><p>Returns the u priod of this surface if it is <a class="xref" href="CADability.GeoObject.ISurface.html#CADability_GeoObject_ISurface_IsUPeriodic">IsUPeriodic</a>
0.0 otherwise</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double UPeriod { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_UvChangesWithModification.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.UvChangesWithModification%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L475">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_UvChangesWithModification_" data-uid="CADability.GeoObject.ISurface.UvChangesWithModification*"></a>
  <h4 id="CADability_GeoObject_ISurface_UvChangesWithModification" data-uid="CADability.GeoObject.ISurface.UvChangesWithModification">UvChangesWithModification</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool UvChangesWithModification { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_VPeriod.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.VPeriod%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L173">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_VPeriod_" data-uid="CADability.GeoObject.ISurface.VPeriod*"></a>
  <h4 id="CADability_GeoObject_ISurface_VPeriod" data-uid="CADability.GeoObject.ISurface.VPeriod">VPeriod</h4>
  <div class="markdown level1 summary"><p>Returns the v priod of this surface if it is <a class="xref" href="CADability.GeoObject.ISurface.html#CADability_GeoObject_ISurface_IsVPeriodic">IsVPeriodic</a>
0.0 otherwise</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double VPeriod { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_Approximate_System_Double_System_Double_System_Double_System_Double_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.Approximate(System.Double%2CSystem.Double%2CSystem.Double%2CSystem.Double%2CSystem.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L233">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_Approximate_" data-uid="CADability.GeoObject.ISurface.Approximate*"></a>
  <h4 id="CADability_GeoObject_ISurface_Approximate_System_Double_System_Double_System_Double_System_Double_System_Double_" data-uid="CADability.GeoObject.ISurface.Approximate(System.Double,System.Double,System.Double,System.Double,System.Double)">Approximate(Double, Double, Double, Double, Double)</h4>
  <div class="markdown level1 summary"><p>Create a NurbSurface as an approximation of this surface</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">NurbsSurface Approximate(double umin, double umax, double vmin, double vmax, double precision)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">umin</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">umax</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">vmin</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">vmax</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">precision</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.NurbsSurface.html">NurbsSurface</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_Clone.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.Clone%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L216">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_Clone_" data-uid="CADability.GeoObject.ISurface.Clone*"></a>
  <h4 id="CADability_GeoObject_ISurface_Clone" data-uid="CADability.GeoObject.ISurface.Clone">Clone()</h4>
  <div class="markdown level1 summary"><p>Returns an identical but independant copy of this surface</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ISurface Clone()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ISurface.html">ISurface</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_CopyData_CADability_GeoObject_ISurface_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.CopyData(CADability.GeoObject.ISurface)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L227">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_CopyData_" data-uid="CADability.GeoObject.ISurface.CopyData*"></a>
  <h4 id="CADability_GeoObject_ISurface_CopyData_CADability_GeoObject_ISurface_" data-uid="CADability.GeoObject.ISurface.CopyData(CADability.GeoObject.ISurface)">CopyData(ISurface)</h4>
  <div class="markdown level1 summary"><p>Copies the data of the given surface to this surface. The two surfaces are guaranteed to be of the
same type. (Used after <a class="xref" href="CADability.GeoObject.ISurface.html#CADability_GeoObject_ISurface_Clone">Clone()</a> and <a class="xref" href="CADability.GeoObject.ISurface.html#CADability_GeoObject_ISurface_Modify_CADability_ModOp_">Modify(ModOp)</a> to restore the original values).</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void CopyData(ISurface CopyFrom)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ISurface.html">ISurface</a></td>
        <td><span class="parametername">CopyFrom</span></td>
        <td><p>where to copy the data from</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_Derivation2At_CADability_GeoPoint2D_CADability_GeoPoint__CADability_GeoVector__CADability_GeoVector__CADability_GeoVector__CADability_GeoVector__CADability_GeoVector__.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.Derivation2At(CADability.GeoPoint2D%2CCADability.GeoPoint%40%2CCADability.GeoVector%40%2CCADability.GeoVector%40%2CCADability.GeoVector%40%2CCADability.GeoVector%40%2CCADability.GeoVector%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L106">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_Derivation2At_" data-uid="CADability.GeoObject.ISurface.Derivation2At*"></a>
  <h4 id="CADability_GeoObject_ISurface_Derivation2At_CADability_GeoPoint2D_CADability_GeoPoint__CADability_GeoVector__CADability_GeoVector__CADability_GeoVector__CADability_GeoVector__CADability_GeoVector__" data-uid="CADability.GeoObject.ISurface.Derivation2At(CADability.GeoPoint2D,CADability.GeoPoint@,CADability.GeoVector@,CADability.GeoVector@,CADability.GeoVector@,CADability.GeoVector@,CADability.GeoVector@)">Derivation2At(GeoPoint2D, out GeoPoint, out GeoVector, out GeoVector, out GeoVector, out GeoVector, out GeoVector)</h4>
  <div class="markdown level1 summary"><p>Returns the point, the two first derivations and the three second derivations of the surface at the provided parameter position.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void Derivation2At(GeoPoint2D uv, out GeoPoint location, out GeoVector du, out GeoVector dv, out GeoVector duu, out GeoVector dvv, out GeoVector duv)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint2D.html">GeoPoint2D</a></td>
        <td><span class="parametername">uv</span></td>
        <td><p>Point in the parameter space</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td><span class="parametername">location</span></td>
        <td><p>Resulting 3D point</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><span class="parametername">du</span></td>
        <td><p>Resulting derivation in u</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><span class="parametername">dv</span></td>
        <td><p>Resulting derivation in v</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><span class="parametername">duu</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><span class="parametername">dvv</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><span class="parametername">duv</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_DerivationAt_CADability_GeoPoint2D_CADability_GeoPoint__CADability_GeoVector__CADability_GeoVector__.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.DerivationAt(CADability.GeoPoint2D%2CCADability.GeoPoint%40%2CCADability.GeoVector%40%2CCADability.GeoVector%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L94">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_DerivationAt_" data-uid="CADability.GeoObject.ISurface.DerivationAt*"></a>
  <h4 id="CADability_GeoObject_ISurface_DerivationAt_CADability_GeoPoint2D_CADability_GeoPoint__CADability_GeoVector__CADability_GeoVector__" data-uid="CADability.GeoObject.ISurface.DerivationAt(CADability.GeoPoint2D,CADability.GeoPoint@,CADability.GeoVector@,CADability.GeoVector@)">DerivationAt(GeoPoint2D, out GeoPoint, out GeoVector, out GeoVector)</h4>
  <div class="markdown level1 summary"><p>Returns the point and the two derivations of the suface in a single call. It returns the same result as calling
<a class="xref" href="CADability.GeoObject.ISurface.html#CADability_GeoObject_ISurface_PointAt_CADability_GeoPoint2D_">PointAt(GeoPoint2D)</a>, <a class="xref" href="CADability.GeoObject.ISurface.html#CADability_GeoObject_ISurface_VDirection_CADability_GeoPoint2D_">VDirection(GeoPoint2D)</a> und <a class="xref" href="CADability.GeoObject.ISurface.html#CADability_GeoObject_ISurface_VDirection_CADability_GeoPoint2D_">VDirection(GeoPoint2D)</a> succesively but is often faster
than the three seperate calls.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void DerivationAt(GeoPoint2D uv, out GeoPoint location, out GeoVector du, out GeoVector dv)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint2D.html">GeoPoint2D</a></td>
        <td><span class="parametername">uv</span></td>
        <td><p>Point in the parameter space</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td><span class="parametername">location</span></td>
        <td><p>Resulting 3D point</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><span class="parametername">du</span></td>
        <td><p>Resulting derivation in u</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><span class="parametername">dv</span></td>
        <td><p>Resulting derivation in v</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_FixedU_System_Double_System_Double_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.FixedU(System.Double%2CSystem.Double%2CSystem.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L344">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_FixedU_" data-uid="CADability.GeoObject.ISurface.FixedU*"></a>
  <h4 id="CADability_GeoObject_ISurface_FixedU_System_Double_System_Double_System_Double_" data-uid="CADability.GeoObject.ISurface.FixedU(System.Double,System.Double,System.Double)">FixedU(Double, Double, Double)</h4>
  <div class="markdown level1 summary"><p>Returns a curve where the u parameter of this surface is fixed and the v parameter starts a vmin and ends at vmax</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICurve FixedU(double u, double vmin, double vmax)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">u</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">vmin</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">vmax</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ICurve.html">ICurve</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_FixedV_System_Double_System_Double_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.FixedV(System.Double%2CSystem.Double%2CSystem.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L352">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_FixedV_" data-uid="CADability.GeoObject.ISurface.FixedV*"></a>
  <h4 id="CADability_GeoObject_ISurface_FixedV_System_Double_System_Double_System_Double_" data-uid="CADability.GeoObject.ISurface.FixedV(System.Double,System.Double,System.Double)">FixedV(Double, Double, Double)</h4>
  <div class="markdown level1 summary"><p>Returns a curve where the v parameter of this surface is fixed and the u parameter starts a umin and ends at umax</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICurve FixedV(double v, double umin, double umax)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">v</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">umin</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">umax</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ICurve.html">ICurve</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetCanonicalForm_System_Double_System_Nullable_CADability_BoundingRect__.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetCanonicalForm(System.Double%2CSystem.Nullable%7BCADability.BoundingRect%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L437">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetCanonicalForm_" data-uid="CADability.GeoObject.ISurface.GetCanonicalForm*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetCanonicalForm_System_Double_System_Nullable_CADability_BoundingRect__" data-uid="CADability.GeoObject.ISurface.GetCanonicalForm(System.Double,System.Nullable{CADability.BoundingRect})">GetCanonicalForm(Double, Nullable&lt;BoundingRect&gt;)</h4>
  <div class="markdown level1 summary"><p>Returns a simpler form of this surface: SurfaceOfLinearExtrusion might be a cylinder, NURBS might be a sphere etc.
Returns null, if there is no simpler form</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ISurface GetCanonicalForm(double precision, BoundingRect? bounds = default(BoundingRect? ))</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">precision</span></td>
        <td><p>maximal allowed deviation of the new surface</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Nullable</span>&lt;<a class="xref" href="CADability.BoundingRect.html">BoundingRect</a>&gt;</td>
        <td><span class="parametername">bounds</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ISurface.html">ISurface</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetContextMenuForParametrics_CADability_IFrame_CADability_GeoObject_Face_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetContextMenuForParametrics(CADability.IFrame%2CCADability.GeoObject.Face)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L474">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetContextMenuForParametrics_" data-uid="CADability.GeoObject.ISurface.GetContextMenuForParametrics*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetContextMenuForParametrics_CADability_IFrame_CADability_GeoObject_Face_" data-uid="CADability.GeoObject.ISurface.GetContextMenuForParametrics(CADability.IFrame,CADability.GeoObject.Face)">GetContextMenuForParametrics(IFrame, Face)</h4>
  <div class="markdown level1 summary"><p>Returns a context menu to change certain parameters of the surface of a face</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">MenuWithHandler[] GetContextMenuForParametrics(IFrame frame, Face face)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.IFrame.html">IFrame</a></td>
        <td><span class="parametername">frame</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.Face.html">Face</a></td>
        <td><span class="parametername">face</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.UserInterface.MenuWithHandler.html">MenuWithHandler</a>[]</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetDistance_CADability_GeoPoint_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetDistance(CADability.GeoPoint)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L461">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetDistance_" data-uid="CADability.GeoObject.ISurface.GetDistance*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetDistance_CADability_GeoPoint_" data-uid="CADability.GeoObject.ISurface.GetDistance(CADability.GeoPoint)">GetDistance(GeoPoint)</h4>
  <div class="markdown level1 summary"><p>Returns the distance of the provided point <code data-dev-comment-type="paramref" class="paramref">p</code> to the (unlimited) surface.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double GetDistance(GeoPoint p)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td><span class="parametername">p</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetDualSurfaceCurves_CADability_BoundingRect_CADability_GeoObject_ISurface_CADability_BoundingRect_System_Collections_Generic_List_CADability_GeoPoint__System_Collections_Generic_List_System_Tuple_System_Double_System_Double_System_Double_System_Double___.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetDualSurfaceCurves(CADability.BoundingRect%2CCADability.GeoObject.ISurface%2CCADability.BoundingRect%2CSystem.Collections.Generic.List%7BCADability.GeoPoint%7D%2CSystem.Collections.Generic.List%7BSystem.Tuple%7BSystem.Double%2CSystem.Double%2CSystem.Double%2CSystem.Double%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L416">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetDualSurfaceCurves_" data-uid="CADability.GeoObject.ISurface.GetDualSurfaceCurves*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetDualSurfaceCurves_CADability_BoundingRect_CADability_GeoObject_ISurface_CADability_BoundingRect_System_Collections_Generic_List_CADability_GeoPoint__System_Collections_Generic_List_System_Tuple_System_Double_System_Double_System_Double_System_Double___" data-uid="CADability.GeoObject.ISurface.GetDualSurfaceCurves(CADability.BoundingRect,CADability.GeoObject.ISurface,CADability.BoundingRect,System.Collections.Generic.List{CADability.GeoPoint},System.Collections.Generic.List{System.Tuple{System.Double,System.Double,System.Double,System.Double}})">GetDualSurfaceCurves(BoundingRect, ISurface, BoundingRect, List&lt;GeoPoint&gt;, List&lt;Tuple&lt;Double, Double, Double, Double&gt;&gt;)</h4>
  <div class="markdown level1 summary"><p>Returns intersectionCurves</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IDualSurfaceCurve[] GetDualSurfaceCurves(BoundingRect thisBounds, ISurface other, BoundingRect otherBounds, List&lt;GeoPoint&gt; seeds, List&lt;Tuple&lt;double, double, double, double&gt;&gt; extremePositions = null)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td><span class="parametername">thisBounds</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ISurface.html">ISurface</a></td>
        <td><span class="parametername">other</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td><span class="parametername">otherBounds</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Collections.Generic.List</span>&lt;<a class="xref" href="CADability.GeoPoint.html">GeoPoint</a>&gt;</td>
        <td><span class="parametername">seeds</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Collections.Generic.List</span>&lt;<span class="xref">System.Tuple</span>&lt;<span class="xref">System.Double</span>, <span class="xref">System.Double</span>, <span class="xref">System.Double</span>, <span class="xref">System.Double</span>&gt;&gt;</td>
        <td><span class="parametername">extremePositions</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.IDualSurfaceCurve.html">IDualSurfaceCurve</a>[]</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetExtrema.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetExtrema%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L327">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetExtrema_" data-uid="CADability.GeoObject.ISurface.GetExtrema*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetExtrema" data-uid="CADability.GeoObject.ISurface.GetExtrema">GetExtrema()</h4>
  <div class="markdown level1 summary"><p>Returns an array of points in parametric space where there are extrema in direction of x-, y- or z-axis.
The normal vector in a extremum is parallel to one of the axis and the surface has a relative maximum or
minimum in this direction.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">GeoPoint2D[] GetExtrema()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint2D.html">GeoPoint2D</a>[]</td>
        <td><p>s.a.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetExtremePositions_CADability_BoundingRect_CADability_GeoObject_ICurve_System_Collections_Generic_List_System_Tuple_System_Double_System_Double_System_Double____.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetExtremePositions(CADability.BoundingRect%2CCADability.GeoObject.ICurve%2CSystem.Collections.Generic.List%7BSystem.Tuple%7BSystem.Double%2CSystem.Double%2CSystem.Double%7D%7D%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L455">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetExtremePositions_" data-uid="CADability.GeoObject.ISurface.GetExtremePositions*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetExtremePositions_CADability_BoundingRect_CADability_GeoObject_ICurve_System_Collections_Generic_List_System_Tuple_System_Double_System_Double_System_Double____" data-uid="CADability.GeoObject.ISurface.GetExtremePositions(CADability.BoundingRect,CADability.GeoObject.ICurve,System.Collections.Generic.List{System.Tuple{System.Double,System.Double,System.Double}}@)">GetExtremePositions(BoundingRect, ICurve, out List&lt;Tuple&lt;Double, Double, Double&gt;&gt;)</h4>
  <div class="markdown level1 summary"><p>Find positions on the surface and on the curve where the connection of these points are perpendicular to the surface and to the curve</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">int GetExtremePositions(BoundingRect domain, ICurve curve3D, out List&lt;Tuple&lt;double, double, double&gt;&gt; positions)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td><span class="parametername">domain</span></td>
        <td><p>valid area for the surface</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ICurve.html">ICurve</a></td>
        <td><span class="parametername">curve3D</span></td>
        <td><p>the curve</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Collections.Generic.List</span>&lt;<span class="xref">System.Tuple</span>&lt;<span class="xref">System.Double</span>, <span class="xref">System.Double</span>, <span class="xref">System.Double</span>&gt;&gt;</td>
        <td><span class="parametername">positions</span></td>
        <td><p>the positions found: first two doubles are u,v on the surface, third is u on the curve</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetExtremePositions_CADability_BoundingRect_CADability_GeoObject_ISurface_CADability_BoundingRect_System_Collections_Generic_List_System_Tuple_System_Double_System_Double_System_Double_System_Double____.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetExtremePositions(CADability.BoundingRect%2CCADability.GeoObject.ISurface%2CCADability.BoundingRect%2CSystem.Collections.Generic.List%7BSystem.Tuple%7BSystem.Double%2CSystem.Double%2CSystem.Double%2CSystem.Double%7D%7D%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L447">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetExtremePositions_" data-uid="CADability.GeoObject.ISurface.GetExtremePositions*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetExtremePositions_CADability_BoundingRect_CADability_GeoObject_ISurface_CADability_BoundingRect_System_Collections_Generic_List_System_Tuple_System_Double_System_Double_System_Double_System_Double____" data-uid="CADability.GeoObject.ISurface.GetExtremePositions(CADability.BoundingRect,CADability.GeoObject.ISurface,CADability.BoundingRect,System.Collections.Generic.List{System.Tuple{System.Double,System.Double,System.Double,System.Double}}@)">GetExtremePositions(BoundingRect, ISurface, BoundingRect, out List&lt;Tuple&lt;Double, Double, Double, Double&gt;&gt;)</h4>
  <div class="markdown level1 summary"><p>Find positions in the uv system, where the connection of the points are perpendicular on both surfaces. the resulting list <code data-dev-comment-type="paramref" class="paramref">extremePositions</code> may be
only partially filled, the missing uv values may be double.NaN, because this is what we need in most cases.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">int GetExtremePositions(BoundingRect thisBounds, ISurface other, BoundingRect otherBounds, out List&lt;Tuple&lt;double, double, double, double&gt;&gt; extremePositions)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td><span class="parametername">thisBounds</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ISurface.html">ISurface</a></td>
        <td><span class="parametername">other</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td><span class="parametername">otherBounds</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Collections.Generic.List</span>&lt;<span class="xref">System.Tuple</span>&lt;<span class="xref">System.Double</span>, <span class="xref">System.Double</span>, <span class="xref">System.Double</span>, <span class="xref">System.Double</span>&gt;&gt;</td>
        <td><span class="parametername">extremePositions</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetLineIntersection_CADability_GeoPoint_CADability_GeoVector_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetLineIntersection(CADability.GeoPoint%2CCADability.GeoVector)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L153">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetLineIntersection_" data-uid="CADability.GeoObject.ISurface.GetLineIntersection*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetLineIntersection_CADability_GeoPoint_CADability_GeoVector_" data-uid="CADability.GeoObject.ISurface.GetLineIntersection(CADability.GeoPoint,CADability.GeoVector)">GetLineIntersection(GeoPoint, GeoVector)</h4>
  <div class="markdown level1 summary"><p>Returns the intersectionpoints of this surface with the line given by the parameters.
Teh returned point are in the parametric (u/v) space of this surface.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">GeoPoint2D[] GetLineIntersection(GeoPoint startPoint, GeoVector direction)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td><span class="parametername">startPoint</span></td>
        <td><p>startpoint of the line</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><span class="parametername">direction</span></td>
        <td><p>direction of the line</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint2D.html">GeoPoint2D</a>[]</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetModified_CADability_ModOp_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetModified(CADability.ModOp)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L46">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetModified_" data-uid="CADability.GeoObject.ISurface.GetModified*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetModified_CADability_ModOp_" data-uid="CADability.GeoObject.ISurface.GetModified(CADability.ModOp)">GetModified(ModOp)</h4>
  <div class="markdown level1 summary"><p>Returns a clone of this surface modified by the given ModOp.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ISurface GetModified(ModOp m)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.ModOp.html">ModOp</a></td>
        <td><span class="parametername">m</span></td>
        <td><p>how to modify</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ISurface.html">ISurface</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetNaturalBounds_System_Double__System_Double__System_Double__System_Double__.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetNaturalBounds(System.Double%40%2CSystem.Double%40%2CSystem.Double%40%2CSystem.Double%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L293">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetNaturalBounds_" data-uid="CADability.GeoObject.ISurface.GetNaturalBounds*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetNaturalBounds_System_Double__System_Double__System_Double__System_Double__" data-uid="CADability.GeoObject.ISurface.GetNaturalBounds(System.Double@,System.Double@,System.Double@,System.Double@)">GetNaturalBounds(out Double, out Double, out Double, out Double)</h4>
  <div class="markdown level1 summary"><p>Returns the natural bounds of the surface. The returned values may be infinite</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void GetNaturalBounds(out double umin, out double umax, out double vmin, out double vmax)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">umin</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">umax</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">vmin</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">vmax</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetNonPeriodicSurface_CADability_GeoObject_ICurve___.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetNonPeriodicSurface(CADability.GeoObject.ICurve%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L373">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetNonPeriodicSurface_" data-uid="CADability.GeoObject.ISurface.GetNonPeriodicSurface*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetNonPeriodicSurface_CADability_GeoObject_ICurve___" data-uid="CADability.GeoObject.ISurface.GetNonPeriodicSurface(CADability.GeoObject.ICurve[])">GetNonPeriodicSurface(ICurve[])</h4>
  <div class="markdown level1 summary"><p>If this surface is periodic in u or v or both return a non-periodic surface
which describes the same geometric surface but with a different parametric system.
It also removes poles and is useful for non-periodic surfaces with a single pole.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ISurface GetNonPeriodicSurface(ICurve[] orientedCurves)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ICurve.html">ICurve</a>[]</td>
        <td><span class="parametername">orientedCurves</span></td>
        <td><p>3d curves, which describe the outline, that will be used. this is needed by some surfaces to determine the maximum definition area</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ISurface.html">ISurface</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetNormal_CADability_GeoPoint2D_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetNormal(CADability.GeoPoint2D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L59">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetNormal_" data-uid="CADability.GeoObject.ISurface.GetNormal*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetNormal_CADability_GeoPoint2D_" data-uid="CADability.GeoObject.ISurface.GetNormal(CADability.GeoPoint2D)">GetNormal(GeoPoint2D)</h4>
  <div class="markdown level1 summary"><p>Returns the normal vector (perpendicular to the surface) at the given u/v point</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">GeoVector GetNormal(GeoPoint2D uv)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint2D.html">GeoPoint2D</a></td>
        <td><span class="parametername">uv</span></td>
        <td><p>position of normal</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><p>normal vector</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetOffsetSurface_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetOffsetSurface(System.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L285">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetOffsetSurface_" data-uid="CADability.GeoObject.ISurface.GetOffsetSurface*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetOffsetSurface_System_Double_" data-uid="CADability.GeoObject.ISurface.GetOffsetSurface(System.Double)">GetOffsetSurface(Double)</h4>
  <div class="markdown level1 summary"><p>Returns a surface that is &quot;parallel&quot; to this surface, i.e. each point on this surface corresponds a
point on the returned surface that has the same (u,v) coordinates and has the 3d coordinates oft the
point plus offset*Normal at this point</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ISurface GetOffsetSurface(double offset)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">offset</span></td>
        <td><p>Offset to this surface</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ISurface.html">ISurface</a></td>
        <td><p>The offset surface</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetPatchExtent_CADability_BoundingRect_System_Boolean_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetPatchExtent(CADability.BoundingRect%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L336">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetPatchExtent_" data-uid="CADability.GeoObject.ISurface.GetPatchExtent*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetPatchExtent_CADability_BoundingRect_System_Boolean_" data-uid="CADability.GeoObject.ISurface.GetPatchExtent(CADability.BoundingRect,System.Boolean)">GetPatchExtent(BoundingRect, Boolean)</h4>
  <div class="markdown level1 summary"><p>Returns the extent of a patch of the surface clipped rectangular in the 2d parameter space</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">BoundingCube GetPatchExtent(BoundingRect uvPatch, bool rough = false)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td><span class="parametername">uvPatch</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">rough</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingCube.html">BoundingCube</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetPatchHull_CADability_BoundingRect_CADability_GeoPoint__CADability_GeoVector__CADability_GeoVector__CADability_GeoVector__.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetPatchHull(CADability.BoundingRect%2CCADability.GeoPoint%40%2CCADability.GeoVector%40%2CCADability.GeoVector%40%2CCADability.GeoVector%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L386">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetPatchHull_" data-uid="CADability.GeoObject.ISurface.GetPatchHull*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetPatchHull_CADability_BoundingRect_CADability_GeoPoint__CADability_GeoVector__CADability_GeoVector__CADability_GeoVector__" data-uid="CADability.GeoObject.ISurface.GetPatchHull(CADability.BoundingRect,CADability.GeoPoint@,CADability.GeoVector@,CADability.GeoVector@,CADability.GeoVector@)">GetPatchHull(BoundingRect, out GeoPoint, out GeoVector, out GeoVector, out GeoVector)</h4>
  <div class="markdown level1 summary"><p>Returns a parallelepiped (a prism with parallelograms) defined by the parameters <code data-dev-comment-type="paramref" class="paramref">loc</code>,
<code data-dev-comment-type="paramref" class="paramref">dir1</code>, <code data-dev-comment-type="paramref" class="paramref">dir2</code>, <code data-dev-comment-type="paramref" class="paramref">dir3</code> which completeley covers or encloses
the patch of the surface defined by the <code data-dev-comment-type="paramref" class="paramref">uvpatch</code>. There are obviously many solutions
to this problem but a parallelepiped with minimum volume would be preferred. This method is used
to optimate intersection algorithms.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void GetPatchHull(BoundingRect uvpatch, out GeoPoint loc, out GeoVector dir1, out GeoVector dir2, out GeoVector dir3)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td><span class="parametername">uvpatch</span></td>
        <td><p>The patch of the surface in parametric space</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td><span class="parametername">loc</span></td>
        <td><p>One vertex of the result</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><span class="parametername">dir1</span></td>
        <td><p>One of the three vectors of the parallelepiped</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><span class="parametername">dir2</span></td>
        <td><p>One of the three vectors of the parallelepiped</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><span class="parametername">dir3</span></td>
        <td><p>One of the three vectors of the parallelepiped</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetPlaneIntersection_CADability_GeoObject_PlaneSurface_System_Double_System_Double_System_Double_System_Double_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetPlaneIntersection(CADability.GeoObject.PlaneSurface%2CSystem.Double%2CSystem.Double%2CSystem.Double%2CSystem.Double%2CSystem.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L114">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetPlaneIntersection_" data-uid="CADability.GeoObject.ISurface.GetPlaneIntersection*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetPlaneIntersection_CADability_GeoObject_PlaneSurface_System_Double_System_Double_System_Double_System_Double_System_Double_" data-uid="CADability.GeoObject.ISurface.GetPlaneIntersection(CADability.GeoObject.PlaneSurface,System.Double,System.Double,System.Double,System.Double,System.Double)">GetPlaneIntersection(PlaneSurface, Double, Double, Double, Double, Double)</h4>
  <div class="markdown level1 summary"><p>Returns the intersection curve(s) of this surface with the given plane. An empty array is returned if there is no intersection.
umin, umax, vmin, vmax define the Parameterspace of this surface (not of the PlaneSurface) for the intersection. It is also the periodic domain
in which the 2d curve for this surface will be returned, if this surface is periodic. the resulting curves may exceed the area provided by umin, umax, vmin, vmax.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IDualSurfaceCurve[] GetPlaneIntersection(PlaneSurface pl, double umin, double umax, double vmin, double vmax, double precision)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.PlaneSurface.html">PlaneSurface</a></td>
        <td><span class="parametername">pl</span></td>
        <td><p>plane to intersect with</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">umin</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">umax</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">vmin</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">vmax</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">precision</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.IDualSurfaceCurve.html">IDualSurfaceCurve</a>[]</td>
        <td><p>intersection curves</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetPolynomialParameters.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetPolynomialParameters%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L353">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetPolynomialParameters_" data-uid="CADability.GeoObject.ISurface.GetPolynomialParameters*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetPolynomialParameters" data-uid="CADability.GeoObject.ISurface.GetPolynomialParameters">GetPolynomialParameters()</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double[] GetPolynomialParameters()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span>[]</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetProjectedCurve_CADability_GeoObject_ICurve_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetProjectedCurve(CADability.GeoObject.ICurve%2CSystem.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L240">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetProjectedCurve_" data-uid="CADability.GeoObject.ISurface.GetProjectedCurve*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetProjectedCurve_CADability_GeoObject_ICurve_System_Double_" data-uid="CADability.GeoObject.ISurface.GetProjectedCurve(CADability.GeoObject.ICurve,System.Double)">GetProjectedCurve(ICurve, Double)</h4>
  <div class="markdown level1 summary"><p>Returns the projection of the given curve in 2D coordinates. Should only be used for curves
that are close to the surface.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICurve2D GetProjectedCurve(ICurve curve, double precision)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ICurve.html">ICurve</a></td>
        <td><span class="parametername">curve</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">precision</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Curve2D.ICurve2D.html">ICurve2D</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetPropertyEntry_CADability_IFrame_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetPropertyEntry(CADability.IFrame)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L479">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetPropertyEntry_" data-uid="CADability.GeoObject.ISurface.GetPropertyEntry*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetPropertyEntry_CADability_IFrame_" data-uid="CADability.GeoObject.ISurface.GetPropertyEntry(CADability.IFrame)">GetPropertyEntry(IFrame)</h4>
  <div class="markdown level1 summary"><p>Gets the IPropertyEntry to display this surface in the property grid (may be null)</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IPropertyEntry GetPropertyEntry(IFrame frame)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.IFrame.html">IFrame</a></td>
        <td><span class="parametername">frame</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.UserInterface.IPropertyEntry.html">IPropertyEntry</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetSafeParameterSteps_System_Double_System_Double_System_Double_System_Double_System_Double____System_Double____.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetSafeParameterSteps(System.Double%2CSystem.Double%2CSystem.Double%2CSystem.Double%2CSystem.Double%5B%5D%40%2CSystem.Double%5B%5D%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L135">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetSafeParameterSteps_" data-uid="CADability.GeoObject.ISurface.GetSafeParameterSteps*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetSafeParameterSteps_System_Double_System_Double_System_Double_System_Double_System_Double____System_Double____" data-uid="CADability.GeoObject.ISurface.GetSafeParameterSteps(System.Double,System.Double,System.Double,System.Double,System.Double[]@,System.Double[]@)">GetSafeParameterSteps(Double, Double, Double, Double, out Double[], out Double[])</h4>
  <div class="markdown level1 summary"><p>Gets spans of the parameterspace that are guaranteed to contain only one inflection point.
The returned intu should contain umin as first and umax as last value (same with v)</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void GetSafeParameterSteps(double umin, double umax, double vmin, double vmax, out double[] intu, out double[] intv)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">umin</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">umax</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">vmin</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">vmax</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span>[]</td>
        <td><span class="parametername">intu</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span>[]</td>
        <td><span class="parametername">intv</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetSelfIntersections_CADability_BoundingRect_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetSelfIntersections(CADability.BoundingRect)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L422">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetSelfIntersections_" data-uid="CADability.GeoObject.ISurface.GetSelfIntersections*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetSelfIntersections_CADability_BoundingRect_" data-uid="CADability.GeoObject.ISurface.GetSelfIntersections(CADability.BoundingRect)">GetSelfIntersections(BoundingRect)</h4>
  <div class="markdown level1 summary"><p>Returns a List of self intersection curves in the u/v system</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICurve2D[] GetSelfIntersections(BoundingRect bounds)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td><span class="parametername">bounds</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Curve2D.ICurve2D.html">ICurve2D</a>[]</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetTangentCurves_CADability_GeoVector_System_Double_System_Double_System_Double_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetTangentCurves(CADability.GeoVector%2CSystem.Double%2CSystem.Double%2CSystem.Double%2CSystem.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L124">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetTangentCurves_" data-uid="CADability.GeoObject.ISurface.GetTangentCurves*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetTangentCurves_CADability_GeoVector_System_Double_System_Double_System_Double_System_Double_" data-uid="CADability.GeoObject.ISurface.GetTangentCurves(CADability.GeoVector,System.Double,System.Double,System.Double,System.Double)">GetTangentCurves(GeoVector, Double, Double, Double, Double)</h4>
  <div class="markdown level1 summary"><p>Returns curves where direction is perpendicular to the normal vector</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICurve2D[] GetTangentCurves(GeoVector direction, double umin, double umax, double vmin, double vmax)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><span class="parametername">direction</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">umin</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">umax</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">vmin</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">vmax</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Curve2D.ICurve2D.html">ICurve2D</a>[]</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetTouchingPoints_CADability_BoundingRect_CADability_GeoObject_ISurface_CADability_BoundingRect_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetTouchingPoints(CADability.BoundingRect%2CCADability.GeoObject.ISurface%2CCADability.BoundingRect)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L430">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetTouchingPoints_" data-uid="CADability.GeoObject.ISurface.GetTouchingPoints*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetTouchingPoints_CADability_BoundingRect_CADability_GeoObject_ISurface_CADability_BoundingRect_" data-uid="CADability.GeoObject.ISurface.GetTouchingPoints(CADability.BoundingRect,CADability.GeoObject.ISurface,CADability.BoundingRect)">GetTouchingPoints(BoundingRect, ISurface, BoundingRect)</h4>
  <div class="markdown level1 summary"><p>Returns a list of points where the surfaces touch each other (where the surfaces are tangential)</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">GeoPoint[] GetTouchingPoints(BoundingRect thisBounds, ISurface other, BoundingRect otherBounds)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td><span class="parametername">thisBounds</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ISurface.html">ISurface</a></td>
        <td><span class="parametername">other</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td><span class="parametername">otherBounds</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a>[]</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetUSingularities.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetUSingularities%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L179">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetUSingularities_" data-uid="CADability.GeoObject.ISurface.GetUSingularities*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetUSingularities" data-uid="CADability.GeoObject.ISurface.GetUSingularities">GetUSingularities()</h4>
  <div class="markdown level1 summary"><p>returns the values for the u parameter where this surface is singular i.e. changing
v with this u parameter fixed doesn't change the 3D point.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double[] GetUSingularities()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span>[]</td>
        <td><p>list of u singularities</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetVSingularities.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetVSingularities%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L186">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetVSingularities_" data-uid="CADability.GeoObject.ISurface.GetVSingularities*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetVSingularities" data-uid="CADability.GeoObject.ISurface.GetVSingularities">GetVSingularities()</h4>
  <div class="markdown level1 summary"><p>returns the values for the v parameter where this surface is singular i.e. changing
u with this v parameter fixed doesn't change the 3D point.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double[] GetVSingularities()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span>[]</td>
        <td><p>list of v singularities</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_GetZMinMax_CADability_Projection_System_Double_System_Double_System_Double_System_Double_System_Double__System_Double__.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.GetZMinMax(CADability.Projection%2CSystem.Double%2CSystem.Double%2CSystem.Double%2CSystem.Double%2CSystem.Double%40%2CSystem.Double%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L204">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_GetZMinMax_" data-uid="CADability.GeoObject.ISurface.GetZMinMax*"></a>
  <h4 id="CADability_GeoObject_ISurface_GetZMinMax_CADability_Projection_System_Double_System_Double_System_Double_System_Double_System_Double__System_Double__" data-uid="CADability.GeoObject.ISurface.GetZMinMax(CADability.Projection,System.Double,System.Double,System.Double,System.Double,System.Double@,System.Double@)">GetZMinMax(Projection, Double, Double, Double, Double, ref Double, ref Double)</h4>
  <div class="markdown level1 summary"><p>Gets the minimum and maximumm valus for the z-coordinate of a rectangular patch (in parametric space)
of this surface under a certain projection</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void GetZMinMax(Projection p, double umin, double umax, double vmin, double vmax, ref double zMin, ref double zMax)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Projection.html">Projection</a></td>
        <td><span class="parametername">p</span></td>
        <td><p>the projection</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">umin</span></td>
        <td><p>left bound of the rectangular patch</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">umax</span></td>
        <td><p>right bound of the rectangular patch</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">vmin</span></td>
        <td><p>bottom bound of the rectangular patch</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">vmax</span></td>
        <td><p>top bound of the rectangular patch</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">zMin</span></td>
        <td><p>returned minimum</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">zMax</span></td>
        <td><p>returned maximum</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_HasDiscontinuousDerivative_CADability_Curve2D_ICurve2D____.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.HasDiscontinuousDerivative(CADability.Curve2D.ICurve2D%5B%5D%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L365">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_HasDiscontinuousDerivative_" data-uid="CADability.GeoObject.ISurface.HasDiscontinuousDerivative*"></a>
  <h4 id="CADability_GeoObject_ISurface_HasDiscontinuousDerivative_CADability_Curve2D_ICurve2D____" data-uid="CADability.GeoObject.ISurface.HasDiscontinuousDerivative(CADability.Curve2D.ICurve2D[]@)">HasDiscontinuousDerivative(out ICurve2D[])</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool HasDiscontinuousDerivative(out ICurve2D[] discontinuities)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Curve2D.ICurve2D.html">ICurve2D</a>[]</td>
        <td><span class="parametername">discontinuities</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_HitTest_CADability_BoundingCube_CADability_GeoPoint2D__.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.HitTest(CADability.BoundingCube%2CCADability.GeoPoint2D%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L308">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_HitTest_" data-uid="CADability.GeoObject.ISurface.HitTest*"></a>
  <h4 id="CADability_GeoObject_ISurface_HitTest_CADability_BoundingCube_CADability_GeoPoint2D__" data-uid="CADability.GeoObject.ISurface.HitTest(CADability.BoundingCube,CADability.GeoPoint2D@)">HitTest(BoundingCube, out GeoPoint2D)</h4>
  <div class="markdown level1 summary"><p>Returns true, if this surface interferes with the provided cube. If this is the case
uv will contain a point (in the parameter system of the surface) which is inside the cube</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool HitTest(BoundingCube cube, out GeoPoint2D uv)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingCube.html">BoundingCube</a></td>
        <td><span class="parametername">cube</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint2D.html">GeoPoint2D</a></td>
        <td><span class="parametername">uv</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_HitTest_CADability_BoundingCube_System_Double_System_Double_System_Double_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.HitTest(CADability.BoundingCube%2CSystem.Double%2CSystem.Double%2CSystem.Double%2CSystem.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L303">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_HitTest_" data-uid="CADability.GeoObject.ISurface.HitTest*"></a>
  <h4 id="CADability_GeoObject_ISurface_HitTest_CADability_BoundingCube_System_Double_System_Double_System_Double_System_Double_" data-uid="CADability.GeoObject.ISurface.HitTest(CADability.BoundingCube,System.Double,System.Double,System.Double,System.Double)">HitTest(BoundingCube, Double, Double, Double, Double)</h4>
  <div class="markdown level1 summary"><p>Checks whether this surface restricted by the provided parameters interferes with the provided cube.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool HitTest(BoundingCube cube, double umin, double umax, double vmin, double vmax)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingCube.html">BoundingCube</a></td>
        <td><span class="parametername">cube</span></td>
        <td><p>Bounding cube for the test</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">umin</span></td>
        <td><p>Minimum for the u parameter</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">umax</span></td>
        <td><p>Maximum for the u parameter</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">vmin</span></td>
        <td><p>Minimum for the v parameter</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">vmax</span></td>
        <td><p>Maximum for the v parameter</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>true if the cube and the surface interfere</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_Intersect_CADability_BoundingRect_CADability_GeoObject_ISurface_CADability_BoundingRect_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.Intersect(CADability.BoundingRect%2CCADability.GeoObject.ISurface%2CCADability.BoundingRect)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L258">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_Intersect_" data-uid="CADability.GeoObject.ISurface.Intersect*"></a>
  <h4 id="CADability_GeoObject_ISurface_Intersect_CADability_BoundingRect_CADability_GeoObject_ISurface_CADability_BoundingRect_" data-uid="CADability.GeoObject.ISurface.Intersect(CADability.BoundingRect,CADability.GeoObject.ISurface,CADability.BoundingRect)">Intersect(BoundingRect, ISurface, BoundingRect)</h4>
  <div class="markdown level1 summary"><p>Returns the intersection curves between this surface and the provided other surface.
Both surfaces are bound by rectangles.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICurve[] Intersect(BoundingRect thisBounds, ISurface other, BoundingRect otherBounds)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td><span class="parametername">thisBounds</span></td>
        <td><p>Bounds for this surface</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ISurface.html">ISurface</a></td>
        <td><span class="parametername">other</span></td>
        <td><p>Other surface</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td><span class="parametername">otherBounds</span></td>
        <td><p>Bounds of other surface</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ICurve.html">ICurve</a>[]</td>
        <td><p>Array of intersection curves</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_Intersect_CADability_BoundingRect_CADability_GeoObject_ISurface_CADability_BoundingRect_CADability_GeoPoint_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.Intersect(CADability.BoundingRect%2CCADability.GeoObject.ISurface%2CCADability.BoundingRect%2CCADability.GeoPoint)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L408">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_Intersect_" data-uid="CADability.GeoObject.ISurface.Intersect*"></a>
  <h4 id="CADability_GeoObject_ISurface_Intersect_CADability_BoundingRect_CADability_GeoObject_ISurface_CADability_BoundingRect_CADability_GeoPoint_" data-uid="CADability.GeoObject.ISurface.Intersect(CADability.BoundingRect,CADability.GeoObject.ISurface,CADability.BoundingRect,CADability.GeoPoint)">Intersect(BoundingRect, ISurface, BoundingRect, GeoPoint)</h4>
  <div class="markdown level1 summary"><p>Returns the intersection curves between this surface and the provided other surface.
Both surfaces are bound by rectangles.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICurve Intersect(BoundingRect thisBounds, ISurface other, BoundingRect otherBounds, GeoPoint seed)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td><span class="parametername">thisBounds</span></td>
        <td><p>Bounds for this surface</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ISurface.html">ISurface</a></td>
        <td><span class="parametername">other</span></td>
        <td><p>Other surface</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td><span class="parametername">otherBounds</span></td>
        <td><p>Bounds of other surface</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td><span class="parametername">seed</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ICurve.html">ICurve</a></td>
        <td><p>Array of intersection curves</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_Intersect_CADability_GeoObject_ICurve_CADability_BoundingRect_CADability_GeoPoint____CADability_GeoPoint2D____System_Double____.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.Intersect(CADability.GeoObject.ICurve%2CCADability.BoundingRect%2CCADability.GeoPoint%5B%5D%40%2CCADability.GeoPoint2D%5B%5D%40%2CSystem.Double%5B%5D%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L249">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_Intersect_" data-uid="CADability.GeoObject.ISurface.Intersect*"></a>
  <h4 id="CADability_GeoObject_ISurface_Intersect_CADability_GeoObject_ICurve_CADability_BoundingRect_CADability_GeoPoint____CADability_GeoPoint2D____System_Double____" data-uid="CADability.GeoObject.ISurface.Intersect(CADability.GeoObject.ICurve,CADability.BoundingRect,CADability.GeoPoint[]@,CADability.GeoPoint2D[]@,System.Double[]@)">Intersect(ICurve, BoundingRect, out GeoPoint[], out GeoPoint2D[], out Double[])</h4>
  <div class="markdown level1 summary"><p>Returns the intersection of the provided <code data-dev-comment-type="paramref" class="paramref">curve</code> with this surface.
The result may be empty.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void Intersect(ICurve curve, BoundingRect uvExtent, out GeoPoint[] ips, out GeoPoint2D[] uvOnFaces, out double[] uOnCurve3Ds)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ICurve.html">ICurve</a></td>
        <td><span class="parametername">curve</span></td>
        <td><p>The curve to be intersected with</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td><span class="parametername">uvExtent</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a>[]</td>
        <td><span class="parametername">ips</span></td>
        <td><p>Resulting 3d intersection points</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint2D.html">GeoPoint2D</a>[]</td>
        <td><span class="parametername">uvOnFaces</span></td>
        <td><p>u/v values of the intersection points on this surface</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span>[]</td>
        <td><span class="parametername">uOnCurve3Ds</span></td>
        <td><p>u parameter of intersection points on the curve</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_IsExtruded_CADability_GeoVector_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.IsExtruded(CADability.GeoVector)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L467">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_IsExtruded_" data-uid="CADability.GeoObject.ISurface.IsExtruded*"></a>
  <h4 id="CADability_GeoObject_ISurface_IsExtruded_CADability_GeoVector_" data-uid="CADability.GeoObject.ISurface.IsExtruded(CADability.GeoVector)">IsExtruded(GeoVector)</h4>
  <div class="markdown level1 summary"><p>returns true, if the provided direction can be interpreted as an extrusion direction of the surface</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool IsExtruded(GeoVector direction)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><span class="parametername">direction</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_IsVanishingProjection_CADability_Projection_System_Double_System_Double_System_Double_System_Double_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.IsVanishingProjection(CADability.Projection%2CSystem.Double%2CSystem.Double%2CSystem.Double%2CSystem.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L145">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_IsVanishingProjection_" data-uid="CADability.GeoObject.ISurface.IsVanishingProjection*"></a>
  <h4 id="CADability_GeoObject_ISurface_IsVanishingProjection_CADability_Projection_System_Double_System_Double_System_Double_System_Double_" data-uid="CADability.GeoObject.ISurface.IsVanishingProjection(CADability.Projection,System.Double,System.Double,System.Double,System.Double)">IsVanishingProjection(Projection, Double, Double, Double, Double)</h4>
  <div class="markdown level1 summary"><p>Returns true if the given projection makes the surface disappear, i.e. degenerate to an edge.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool IsVanishingProjection(Projection p, double umin, double umax, double vmin, double vmax)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Projection.html">Projection</a></td>
        <td><span class="parametername">p</span></td>
        <td><p>the projection</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">umin</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">umax</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">vmin</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">vmax</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>true if vanishing, falso otherwise</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_Make3dCurve_CADability_Curve2D_ICurve2D_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.Make3dCurve(CADability.Curve2D.ICurve2D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L53">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_Make3dCurve_" data-uid="CADability.GeoObject.ISurface.Make3dCurve*"></a>
  <h4 id="CADability_GeoObject_ISurface_Make3dCurve_CADability_Curve2D_ICurve2D_" data-uid="CADability.GeoObject.ISurface.Make3dCurve(CADability.Curve2D.ICurve2D)">Make3dCurve(ICurve2D)</h4>
  <div class="markdown level1 summary"><p>Returns a 3-dimensional curve from the given 2-dimensional curve. the 2-dimensional curve
is interpreted in the u/v system of the surface.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICurve Make3dCurve(ICurve2D curve2d)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Curve2D.ICurve2D.html">ICurve2D</a></td>
        <td><span class="parametername">curve2d</span></td>
        <td><p>the base curve</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ICurve.html">ICurve</a></td>
        <td><p>corresponding 3-d curve</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_MakeCanonicalForm.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.MakeCanonicalForm%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L211">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_MakeCanonicalForm_" data-uid="CADability.GeoObject.ISurface.MakeCanonicalForm*"></a>
  <h4 id="CADability_GeoObject_ISurface_MakeCanonicalForm" data-uid="CADability.GeoObject.ISurface.MakeCanonicalForm">MakeCanonicalForm()</h4>
  <div class="markdown level1 summary"><p>Modifies this surface into a more canonical form and returns the modification for the parametric
space which reverses this modification in 2d. Curves in the parametric space of this surface will become
invalid unless modified by the returned transformation.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ModOp2D MakeCanonicalForm()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.ModOp2D.html">ModOp2D</a></td>
        <td><p>2d modification for the parametric space</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_MakeFace_CADability_Shapes_SimpleShape_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.MakeFace(CADability.Shapes.SimpleShape)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L192">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_MakeFace_" data-uid="CADability.GeoObject.ISurface.MakeFace*"></a>
  <h4 id="CADability_GeoObject_ISurface_MakeFace_CADability_Shapes_SimpleShape_" data-uid="CADability.GeoObject.ISurface.MakeFace(CADability.Shapes.SimpleShape)">MakeFace(SimpleShape)</h4>
  <div class="markdown level1 summary"><p>Makes a <a class="xref" href="CADability.GeoObject.Face.html">Face</a> from this surface with the given bounds in the parametric (u/v) space.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Face MakeFace(SimpleShape simpleShape)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Shapes.SimpleShape.html">SimpleShape</a></td>
        <td><span class="parametername">simpleShape</span></td>
        <td><p>the bounds</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.Face.html">Face</a></td>
        <td><p>the created face or null</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_MaxDist_CADability_GeoPoint2D_CADability_GeoPoint2D_CADability_GeoPoint2D__.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.MaxDist(CADability.GeoPoint2D%2CCADability.GeoPoint2D%2CCADability.GeoPoint2D%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L399">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_MaxDist_" data-uid="CADability.GeoObject.ISurface.MaxDist*"></a>
  <h4 id="CADability_GeoObject_ISurface_MaxDist_CADability_GeoPoint2D_CADability_GeoPoint2D_CADability_GeoPoint2D__" data-uid="CADability.GeoObject.ISurface.MaxDist(CADability.GeoPoint2D,CADability.GeoPoint2D,CADability.GeoPoint2D@)">MaxDist(GeoPoint2D, GeoPoint2D, out GeoPoint2D)</h4>
  <div class="markdown level1 summary"><p>used internally. the maximum distance of the 3d curve, formed by the uv-line from sp to ep, to the 3d-line from PointAt(sp) to PointAt(ep)</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double MaxDist(GeoPoint2D sp, GeoPoint2D ep, out GeoPoint2D mp)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint2D.html">GeoPoint2D</a></td>
        <td><span class="parametername">sp</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint2D.html">GeoPoint2D</a></td>
        <td><span class="parametername">ep</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint2D.html">GeoPoint2D</a></td>
        <td><span class="parametername">mp</span></td>
        <td><p>The uv point where this distance occurres</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_Modify_CADability_ModOp_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.Modify(CADability.ModOp)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L221">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_Modify_" data-uid="CADability.GeoObject.ISurface.Modify*"></a>
  <h4 id="CADability_GeoObject_ISurface_Modify_CADability_ModOp_" data-uid="CADability.GeoObject.ISurface.Modify(CADability.ModOp)">Modify(ModOp)</h4>
  <div class="markdown level1 summary"><p>Modifies this surface with the given operation</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void Modify(ModOp m)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.ModOp.html">ModOp</a></td>
        <td><span class="parametername">m</span></td>
        <td><p>how to modif</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_Orientation_CADability_GeoPoint_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.Orientation(CADability.GeoPoint)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L320">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_Orientation_" data-uid="CADability.GeoObject.ISurface.Orientation*"></a>
  <h4 id="CADability_GeoObject_ISurface_Orientation_CADability_GeoPoint_" data-uid="CADability.GeoObject.ISurface.Orientation(CADability.GeoPoint)">Orientation(GeoPoint)</h4>
  <div class="markdown level1 summary"><p>Returns the orientation of the provided point. The sign of the result may be used to distinguish
between inside and outside.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">double Orientation(GeoPoint p)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td><span class="parametername">p</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_PerpendicularFoot_CADability_GeoPoint_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.PerpendicularFoot(CADability.GeoPoint)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L364">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_PerpendicularFoot_" data-uid="CADability.GeoObject.ISurface.PerpendicularFoot*"></a>
  <h4 id="CADability_GeoObject_ISurface_PerpendicularFoot_CADability_GeoPoint_" data-uid="CADability.GeoObject.ISurface.PerpendicularFoot(CADability.GeoPoint)">PerpendicularFoot(GeoPoint)</h4>
  <div class="markdown level1 summary"><p>Returns a list of perpendicular foot points of the surface. The list may be empty</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">GeoPoint2D[] PerpendicularFoot(GeoPoint fromHere)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td><span class="parametername">fromHere</span></td>
        <td><p>Source point for the perpendicular foot</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint2D.html">GeoPoint2D</a>[]</td>
        <td><p>Array of foot-points, may be empty</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_PointAt_CADability_GeoPoint2D_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.PointAt(CADability.GeoPoint2D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L77">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_PointAt_" data-uid="CADability.GeoObject.ISurface.PointAt*"></a>
  <h4 id="CADability_GeoObject_ISurface_PointAt_CADability_GeoPoint2D_" data-uid="CADability.GeoObject.ISurface.PointAt(CADability.GeoPoint2D)">PointAt(GeoPoint2D)</h4>
  <div class="markdown level1 summary"><p>Returns the 3-dimensional point at the given u/v point</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">GeoPoint PointAt(GeoPoint2D uv)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint2D.html">GeoPoint2D</a></td>
        <td><span class="parametername">uv</span></td>
        <td><p>position</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td><p>point</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_PositionOf_CADability_GeoPoint_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.PositionOf(CADability.GeoPoint)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L84">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_PositionOf_" data-uid="CADability.GeoObject.ISurface.PositionOf*"></a>
  <h4 id="CADability_GeoObject_ISurface_PositionOf_CADability_GeoPoint_" data-uid="CADability.GeoObject.ISurface.PositionOf(CADability.GeoPoint)">PositionOf(GeoPoint)</h4>
  <div class="markdown level1 summary"><p>Returns the u/v position of the given point. It is assumed that the point is on the surface,
if not the result is undetermined.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">GeoPoint2D PositionOf(GeoPoint p)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td><span class="parametername">p</span></td>
        <td><p>point</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint2D.html">GeoPoint2D</a></td>
        <td><p>position</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_ReverseOrientation.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.ReverseOrientation%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L265">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_ReverseOrientation_" data-uid="CADability.GeoObject.ISurface.ReverseOrientation*"></a>
  <h4 id="CADability_GeoObject_ISurface_ReverseOrientation" data-uid="CADability.GeoObject.ISurface.ReverseOrientation">ReverseOrientation()</h4>
  <div class="markdown level1 summary"><p>Reverses the orientation of this surface. The normal vector will point to the other side after this operation.
The returned <a class="xref" href="CADability.ModOp2D.html">ModOp2D</a> determins how (u,v) coordinates of the parameter space have to be
transformed to define the same 3d point.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ModOp2D ReverseOrientation()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.ModOp2D.html">ModOp2D</a></td>
        <td><p>Transformation of the parameter space</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_SameGeometry_CADability_BoundingRect_CADability_GeoObject_ISurface_CADability_BoundingRect_System_Double_CADability_ModOp2D__.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.SameGeometry(CADability.BoundingRect%2CCADability.GeoObject.ISurface%2CCADability.BoundingRect%2CSystem.Double%2CCADability.ModOp2D%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L277">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_SameGeometry_" data-uid="CADability.GeoObject.ISurface.SameGeometry*"></a>
  <h4 id="CADability_GeoObject_ISurface_SameGeometry_CADability_BoundingRect_CADability_GeoObject_ISurface_CADability_BoundingRect_System_Double_CADability_ModOp2D__" data-uid="CADability.GeoObject.ISurface.SameGeometry(CADability.BoundingRect,CADability.GeoObject.ISurface,CADability.BoundingRect,System.Double,CADability.ModOp2D@)">SameGeometry(BoundingRect, ISurface, BoundingRect, Double, out ModOp2D)</h4>
  <div class="markdown level1 summary"><p>Returns true if this surface and the other surface are geometrically identical, i.e. describe the same surface
in 3D space. The may have a different u/v system. The returned <code data-dev-comment-type="paramref" class="paramref">firstToSecond</code> contains
the ModOp to convert from the u/v system of the first surface to the second surface.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool SameGeometry(BoundingRect thisBounds, ISurface other, BoundingRect otherBounds, double precision, out ModOp2D firstToSecond)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td><span class="parametername">thisBounds</span></td>
        <td><p>Bounds for this surface</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoObject.ISurface.html">ISurface</a></td>
        <td><span class="parametername">other</span></td>
        <td><p>Other surface</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td><span class="parametername">otherBounds</span></td>
        <td><p>Bounds of other surface</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">precision</span></td>
        <td><p>Required precision</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.ModOp2D.html">ModOp2D</a></td>
        <td><span class="parametername">firstToSecond</span></td>
        <td><p>Transformation between different u/v systems</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if the surfaces are geometrically equal</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_SetBounds_CADability_BoundingRect_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.SetBounds(CADability.BoundingRect)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L358">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_SetBounds_" data-uid="CADability.GeoObject.ISurface.SetBounds*"></a>
  <h4 id="CADability_GeoObject_ISurface_SetBounds_CADability_BoundingRect_" data-uid="CADability.GeoObject.ISurface.SetBounds(CADability.BoundingRect)">SetBounds(BoundingRect)</h4>
  <div class="markdown level1 summary"><p>Mostly used internally</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void SetBounds(BoundingRect boundingRect)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td><span class="parametername">boundingRect</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_UDirection_CADability_GeoPoint2D_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.UDirection(CADability.GeoPoint2D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L65">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_UDirection_" data-uid="CADability.GeoObject.ISurface.UDirection*"></a>
  <h4 id="CADability_GeoObject_ISurface_UDirection_CADability_GeoPoint2D_" data-uid="CADability.GeoObject.ISurface.UDirection(CADability.GeoPoint2D)">UDirection(GeoPoint2D)</h4>
  <div class="markdown level1 summary"><p>Returns the direction at the given u/v point in direction of the u-axis</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">GeoVector UDirection(GeoPoint2D uv)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint2D.html">GeoPoint2D</a></td>
        <td><span class="parametername">uv</span></td>
        <td><p>position</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><p>direction</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface_VDirection_CADability_GeoPoint2D_.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface.VDirection(CADability.GeoPoint2D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L71">View Source</a>
  </span>
  <a id="CADability_GeoObject_ISurface_VDirection_" data-uid="CADability.GeoObject.ISurface.VDirection*"></a>
  <h4 id="CADability_GeoObject_ISurface_VDirection_CADability_GeoPoint2D_" data-uid="CADability.GeoObject.ISurface.VDirection(CADability.GeoPoint2D)">VDirection(GeoPoint2D)</h4>
  <div class="markdown level1 summary"><p>Returns the direction at the given u/v point in direction of the v-axis</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">GeoVector VDirection(GeoPoint2D uv)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint2D.html">GeoPoint2D</a></td>
        <td><span class="parametername">uv</span></td>
        <td><p>position</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><p>direction</p>
</td>
      </tr>
    </tbody>
  </table>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                  <li>
                    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_GeoObject_ISurface.md&amp;value=---%0Auid%3A%20CADability.GeoObject.ISurface%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
                  </li>
                  <li>
                    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Surface.cs/#L40" class="contribution-link">View Source</a>
                  </li>
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
                <h5>In This Article</h5>
                <div></div>
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            
            <span>Generated by <strong>DocFX</strong></span>
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
  </body>
</html>
